package com.changpay.zywy.mvp.contract

import com.changpay.zywy.base.IModel
import com.changpay.zywy.base.IPresenter
import com.changpay.zywy.base.IView
import com.changpay.zywy.bean.*
import io.reactivex.Observable

interface HomeContract {


    interface View : IView {
        fun showBanner(data: Banner)
        fun showInCome(data: TodayEarnings)
        fun showHello(data: UserInfo)
        fun showGongGao(data: List<GongGaoBean>)
        fun showUnreadInfo(data: UnReadInfoBean)

    }

    interface Presenter : IPresenter<View> {

        fun getBanner()
        fun getInCome(token: String, version: String)
        fun getUserInfo(token: String)
        fun getSystemMsgList()
        fun getUnreadInfo(token: String)
    }

    interface Model : IModel {
        fun getBanner(): Observable<HttpResult<Banner>>
        fun getInCome(token: String, version: String): Observable<HttpResult<TodayEarnings>>
        fun getUserInfo(token: String): Observable<HttpResult<UserInfo>>
        fun getSystemMsgList(): Observable<HttpResult<List<GongGaoBean>>>
        fun getUnreadInfo(token: String): Observable<HttpResult<UnReadInfoBean>>

    }
}